package main

import "fmt"

// 冒泡排序
// 从第i位开始，相邻两位进行比较并交换，到第 n（数组长度） - i - 1 位终止
func bubblingSort(arr []int) []int {
	if arr == nil || len(arr) < 2 {
		return arr
	}

	n := len(arr)

	for i := 0; i < n; i++ {
		for j := 0; j < n-i-1; j++ {
			if arr[j] > arr[j+1] {
				arr[j+1], arr[j] = arr[j], arr[j+1]
			}
		}
	}

	return arr

}

func main() {
	fmt.Println(bubblingSort([]int{1, 2, 3, 10, 9, 8, 6}))
	fmt.Println(bubblingSort([]int{9, 8, 7, 7, 6, 8, 4}))
	fmt.Println(bubblingSort([]int{100, 20, 6, 10, 9, 8, 6}))
}
